#pragma GCC optimize(2)
#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
#include <map>
#include <vector>

using namespace std;
using LL = long long;
const int N = 1e5 + 10;
int n, k;
int q[N];

int main(){
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w", stdout);
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int T;
    cin >> T;
    while(T--){
        vector<int> nums;
        cin >> n >> k;

        
        bool flag = true;
        for(int i = 1; i <= k; i ++){
            cin >> q[i];
            if(k == n && i == 1) nums.push_back(q[i]);
            if(i > 1){
                nums.push_back(q[i] - q[i - 1]);
                int t = q[i] - q[i - 1];
                if((LL)t * (n - k + i) < (LL)q[i]){
                    flag = false;
                    // cout << "-----" << i << " " << t << " " << n - k + 1 + i << endl;
                }
            }
        }

       

        if(nums.empty()){
            cout << "YES\n";
            continue;
        }

        for(int i = 0; i + 1 < nums.size(); i ++){
            if(nums[i] > nums[i + 1]){
         
                flag = false;
                break;
            }
        }

        if(flag){
            cout << "YES\n";
        }else{
            cout << "NO\n";
        }
    }


    return 0;
}   